Neighbour Lists Again
نویسنده
چکیده
In a recent article, Thompson 1] described the use of neighbour lists in simulations, giving a detailed account of the implementation and the resulting economies. This note deals with a simple variant on the method, and discusses the choice of neighbour list technique, if any, to be used in various circumstances. The idea was originally introduced in the classic paper of Verlet 2] on the simulation of a dense Lennard-Jones uid. Using a cut-oo radius slightly greater than the truncation radius of the interaction potential 1], a list is made for each molecule of all other molecules which are, or could soon be, within interaction range. The lists are renewed at intervals 1], and during the intervening steps only the listed pairs are considered in calculating the pair interaction energies and forces. With a cut-oo radius equal to half the (cubic) box length only about half of the distinct pairs need be listed, and the resulting savings in computer time grows rapidly with N because the number of pairs is N(N-1)/2. However, the conventional method requires that an integer index be stored for every active pair, so that the list grows roughly as N 2 =4. This can quickly become burdensome in machines with limited storage, or where costs or priority depend on the amount of storage used. The alternative implementation described here combines the eeciency inherent in the use of neighbour lists with compact storage. For a given molecule, any other molecule is either within the cut-oo range, or it is not, and this situation is ideally suited to a binary representation. The rst form described here is particularly suitable for conventional Monte Carlo simulations, where the use of single particle moves requires that one be able to identify all neighbours of the molecule being moved. For molecular dynamics simulations, where all active pair interactions are required at each step, a simple and obvious modiication can be used to reduce the required storage by another factor of two, and the coding is even simpler. FORTRAN, still the dominant medium for simulation code, had no bit-handling facilities under the old standard, and rumour has it that the implementation of the new standard is not yet uniform. Many compilers ooer non-standard extensions for manipulating bit strings, but the details vary from site to site. For these reasons the code given here is more cumbersome than it need be, but it should …
منابع مشابه
Approximate Nearest-Neighbour Search with Inverted Signature Slice Lists
In this paper we present an original approach for finding approximate nearest neighbours in collections of locality-sensitive hashes. The paper demonstrates that this approach makes high-performance nearest-neighbour searching feasible on Web-scale collections and commodity hardware with minimal degradation in search quality.
متن کاملMutual proximity graphs for improved reachability in music recommendation
This paper is concerned with the impact of hubness, a general problem of machine learning in high-dimensional spaces, on a real-world music recommendation system based on visualisation of a k-nearest neighbour (knn) graph. Due to a problem of measuring distances in high dimensions, hub objects are recommended over and over again while anti-hubs are nonexistent in recommendation lists, resulting...
متن کاملOn neighbour-distinguishing colourings from lists
Let G be a finite simple graph, let C be a set of colours (in this paper we shall always suppose C ⊆ N) and let f : E(G) → C be an edge colouring of G. The colour set of a vertex v ∈ V (G) with respect to f is the set Sf (v) of colours of edges incident to v. The colouring f is neighbour-distinguishing if it distinguishes any two adjacent vertices by their colour sets, i.e., Sf (u) 6= Sf (v) wh...
متن کاملMulti-objective discounted dynamic programming The Neighbour Search approach to construct Pareto sets of multi-objective Markov Decision Processes
The Neighbour Search (NS) algorithm, is an iterative method for constructing Pareto sets of multi-dimensional polytopes. A NS iteration consists in two steps: Edges Exploration and Neighbour Detection. Edges Exploration takes a Pareto vertex and determines all Pareto edges connecting such a Pareto vertex to its neighbours. Each neighbour is again a Pareto vertex that is obtained by Neighbour De...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007